package org.jing.r18.game.venusblood.lagoon.dto;

import org.jing.core.lang.annotation.SerializableField;
import org.jing.core.lang.annotation.SerializableType;
import org.jing.core.lang.data.BaseSerializableDto;
import org.jing.core.util.GenericUtil;

import java.util.List;

/**
 * Description: <br>
 *
 * @author: bks <br>
 * @createDate: 2025-04-24 <br>
 */
@SerializableType
public class Title extends BaseSerializableDto {
    @SerializableField("_index")
    private int index;

    @SerializableField("_id")
    private String id;

    @SerializableField("_medal")
    private List<Integer> medal;

    @SerializableField("_name")
    private String name;

    @SerializableField("_rank")
    private int rank;

    @SerializableField("_pos")
    private int pos;

    @SerializableField("_status")
    private List<Status> status;

    @SerializableField("_tribe")
    private String tribe;

    @SerializableField("_special")
    private String special;

    @SerializableField("_divine")
    private int divine;

    @SerializableField("_attach")
    private Skill skill;

    @SerializableField("_recipe")
    private String recipe;

    @SerializableField("_comment")
    private String comment;

    public int getIndex() {
        return index;
    }

    public String getId() {
        return id;
    }

    public List<Integer> getMedal() {
        return medal;
    }

    public String getName() {
        return name;
    }

    public int getRank() {
        return rank;
    }

    public int getPos() {
        return pos;
    }

    public List<Status> getStatus() {
        return status;
    }

    public String getTribe() {
        return tribe;
    }

    public String getSpecial() {
        return special;
    }

    public int getDivine() {
        return divine;
    }

    public Skill getSkill() {
        return skill;
    }

    public String getRecipe() {
        return recipe;
    }

    public String getComment() {
        return comment;
    }

    public String output() {
        StringBuilder stbr = new StringBuilder();
        stbr.append("<index=").append(index)
            .append(", id=").append(id)
            .append(", name=").append(name)
            .append(", pos=").append(pos)
            .append(", status=[");
        for (int i$ = 0, l$ = GenericUtil.count(status); i$ < l$; ++ i$) {
            if (0 != i$) {
                stbr.append(",");
            }
            stbr.append(status.get(i$).getPower());
        }
        stbr.append("], skill=[").append(skill.getId()).append(",").append(skill.getName()).append(",").append(skill.getPower()).append("]");
        stbr.append(">");
        return stbr.toString();
    }
}
